package com.bjsxt.shop.orders.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.shop.common.util.PageInfoUtil;
import com.bjsxt.shop.orders.pojo.AOrders;
import com.bjsxt.shop.orders.pojo.AOrdersGoods;
import com.bjsxt.shop.orders.pojo.AOrdersHistory;

/**
 * 订单的Service
 * @author wangshSxt
 *
 */
public interface IOrdersService
{
	/*---- 订单操作开始 ----*/
	/**
	 * 保存一条订单
	 * @param orders	保存的对象
	 * @return	json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneOrdersService(AOrders orders);
	
	/**
	 * 更新一条订单
	 * @param orders
	 * @return
	 */
	JSONObject updateOneOrdersService(AOrders orders);
	
	/**
	 * 删除一条订单
	 * @param orders
	 * @return
	 */
	JSONObject deleteOneOrdersService(AOrders orders);
	
	/**
	 * 查询一条订单
	 * @param condMap	查询条件
	 * @return	返回订单
	 */
	AOrders findOneOrdersService(Map<String, Object> condMap);
	
	/**
	 * 查询多条订单
	 * @param pageInfoUtil	分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap	查询条件
	 * @return	返回多条记录
	 */
	List<AOrders> findCondListOrdersService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 订单操作结束 ----*/
	
	/*---- 订单商品操作开始 ----*/
	/**
	 * 保存一条订单商品
	 * @param ordersGoods	保存的对象
	 * @return	json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneOrdersGoodsService(AOrdersGoods ordersGoods);
	
	/**
	 * 更新一条订单商品
	 * @param ordersGoods
	 * @return
	 */
	JSONObject updateOneOrdersGoodsService(AOrdersGoods ordersGoods);
	
	/**
	 * 删除一条订单商品
	 * @param ordersGoods
	 * @return
	 */
	JSONObject deleteOneOrdersGoodsService(AOrdersGoods ordersGoods);
	
	/**
	 * 查询一条订单商品
	 * @param condMap	查询条件
	 * @return	返回订单商品
	 */
	AOrdersGoods findOneOrdersGoodsService(Map<String, Object> condMap);
	
	/**
	 * 查询多条订单商品
	 * @param pageInfoUtil	分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap	查询条件
	 * @return	返回多条记录
	 */
	List<AOrdersGoods> findCondListOrdersGoodsService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 订单商品操作结束 ----*/
	
	/*---- 订单操作历史操作开始 ----*/
	/**
	 * 保存一条订单操作历史
	 * @param ordersHistory	保存的对象
	 * @return	json:{"code":"0","info":"成功","data":{"effect":"","id":""}}
	 */
	JSONObject saveOneOrdersHistoryService(AOrdersHistory ordersHistory);
	
	/**
	 * 更新一条订单操作历史
	 * @param ordersHistory
	 * @return
	 */
	JSONObject updateOneOrdersHistoryService(AOrdersHistory ordersHistory);
	
	/**
	 * 删除一条订单操作历史
	 * @param ordersHistory
	 * @return
	 */
	JSONObject deleteOneOrdersHistoryService(AOrdersHistory ordersHistory);
	
	/**
	 * 查询一条订单操作历史
	 * @param condMap	查询条件
	 * @return	返回订单操作历史
	 */
	AOrdersHistory findOneOrdersHistoryService(Map<String, Object> condMap);
	
	/**
	 * 查询多条订单操作历史
	 * @param pageInfoUtil	分页对象:如果为null,不分页,如果不为空,分页
	 * @param condMap	查询条件
	 * @return	返回多条记录
	 */
	List<AOrdersHistory> findCondListOrdersHistoryService(PageInfoUtil pageInfoUtil,Map<String, Object> condMap);
	/*---- 订单操作历史操作结束 ----*/
}
